﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using GroupManager.Resource.CSDL;
namespace GroupManager.Class
{
    public class LopTaiKhoan
    {
        // Kiểm tra một sinh viên đã có tài khoản chưa trả về 0 1
        public static int KiemTraTaiKhoanThanhVien(string masv)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            if (db.TaiKhoans.FirstOrDefault(q => q.MaSV == masv) != null)
                return 1;
            return 0;
        }

        // Thêm tài khoản
        public static void ThemTaiKhoan(string masv, string matkhau, int madnhom)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            TaiKhoan tk = new TaiKhoan();
            tk.MaSV = masv;
            tk.MatKhau = matkhau;
            tk.MaDoiNhom = madnhom;
            db.TaiKhoans.InsertOnSubmit(tk);
            db.SubmitChanges();
        }

        // Xóa tài khoản
        public static void XoaTaiKhoan(string masv)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            TaiKhoan tk = db.TaiKhoans.FirstOrDefault(q => q.MaSV == masv);
            db.TaiKhoans.DeleteOnSubmit(tk);
            db.SubmitChanges();
        }

        // Khóa tài khoản
        public static void KhoaTaiKhoan(string masv)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            db.TaiKhoans.FirstOrDefault(q => q.MaSV == masv).DaKhoa = true;
            db.SubmitChanges();
        }

        // Mở khóa tài khoản
        public static void MoKhoaTaiKhoan(string masv)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            db.TaiKhoans.FirstOrDefault(q => q.MaSV == masv).DaKhoa = null;
            db.SubmitChanges();
        }

        // Thêm vào bảng TaiKhoan_Quyen
        public static void ThemTaiKhoanQuyen(string masv, int quyen)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            TaiKhoan_Quyen tkq = new TaiKhoan_Quyen();
            tkq.MaSV = masv;
            tkq.Quyen = quyen;
            db.TaiKhoan_Quyens.InsertOnSubmit(tkq);
            db.SubmitChanges();
        }

        // Lấy danh sách tất cả các quyền theo mã sinh viên
        public static IQueryable<GroupManager.Resource.CSDL.Quyen> DanhSachQuyenSinhVien(string masv)
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            var sql = from q in db.Quyens
                      join tkq in db.TaiKhoan_Quyens on q.Quyen1 equals tkq.Quyen
                      where tkq.MaSV == masv
                      select q;
            if (sql.Count() == 0)
                return null;
            return sql;
        }

        // Danh sách sinh viên có tài khoản
        public static IQueryable<GroupManager.Resource.CSDL.ThanhVien> DanhSachSinhVienCoTaiKhoan()
        {
            dbGroupManagerDataContext db = new dbGroupManagerDataContext();
            var sql = from tv in db.ThanhViens
                      join tk in db.TaiKhoans on tv.MaSV equals tk.MaSV
                      select tv;
            if (sql.Count() == 0)
                return null;
            return sql;
        }
    }
}